// Niejawne oczekiwanie przez 10 sekund przed zgłoszeniem wyjątku upływu limitu czasu 
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); 

// Jawne oczekiwanie przez 10 sekund, aż będzie można kliknąć przycisk przesyłania formularza
WebElement submitButton = new WebDriverWait(driver, Duration.ofSeconds(10)). 
    until(ExpectedConditions.elementToBeClickable(By.id("submit"))); 

// Płynne oczekiwanie polegające na sondowaniu warunku co 1 sekundę do maksymalnie 3 sekund 
// aż zniknie obracająca się ikona elementu spinner sygnalizującego oczekiwanie
FluentWait wait = new FluentWait(driver)
                .withTimeout(Duration.ofSeconds(3))
                .pollingEvery(Duration.ofSeconds(1))
                .ignoring(NoSuchElementException.class);
wait.until(ExpectedConditions.invisibilityOf(driver.findElement(By.id("spinner")))); 
